/*
 *  testplan.cpp
 *  Ray Tracing
 *
 *  Created by Jean-Marc Comby + Romain Dequesne on Sat May 01 2004.
 *  Copyright (c) 2004. All rights reserved.
 *
 */

#include "testplan.hpp"

void afficheP()
{
	//titre
	std::cout<<"- Test de la classe Plan -"<<std::endl<<std::endl;
	//definitions
	std::vector<Coord> Origine; //specs des rayons
	std::vector<VecteurU> Direction;
	std::vector<VecteurU> Normale; //specs des plans
	std::vector<Coord> Passant;
	//init des coord de l'origine
	Origine.push_back(Coord(-1,-2,-3));
	Origine.push_back(Coord(0,0,-2));
	Origine.push_back(Coord(0,0,0));
	Origine.push_back(Coord(0,0,0));
	Origine.push_back(Coord(-1,-2,-3));
	//init des directions
	Direction.push_back(VecteurU(0,0,1));
	Direction.push_back(VecteurU(1,1,1));
	Direction.push_back(VecteurU(1,1,1));
	Direction.push_back(VecteurU(1,1,1));
	Direction.push_back(VecteurU(1,0,0));
	//init des normales des plans
	Normale.push_back(VecteurU(0,0,1));
	Normale.push_back(VecteurU(0,0,1));
	Normale.push_back(VecteurU(1,2,3));
	Normale.push_back(VecteurU(1,2,3));
	Normale.push_back(VecteurU(0,0,1));
	//init des points pas ou passent les plans
	Passant.push_back(Coord(0,0,0));
	Passant.push_back(Coord(1,1,0));
	Passant.push_back(Coord(1,0,0));
	Passant.push_back(Coord(-1,-1,-1));
	Passant.push_back(Coord(0,0,0));
	//affichage des tests
	for (unsigned int i(0); i<Origine.size();i++)
	{
		Plan tempP(Normale[i], Passant[i]);
		Rayon tempr(Origine[i], Direction[i]);
		Coord inters(tempP.intersect(tempr));
		if (inters==NullePart)
			std::cout<<"pas d'intersection"<<std::endl;
		else
			inters.affiche();
	}
	std::cout<<std::endl<<std::endl;
}
